package com.zw.mes.module.transpositionManager.controller;

import com.zw.mes.base.BaseController;
import com.zw.mes.common.JsonResult;
import com.zw.mes.entity.sys.User;
import com.zw.mes.module.transpositionManager.model.CheckApplyModel;
import com.zw.mes.module.transpositionManager.model.FlowRouteModel;
import com.zw.mes.module.transpositionManager.service.TranspositionApplyCheckService;
import com.zw.mes.util.ShiroUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * @className: TranspositionCutController
 * @description: 生产转序下料维护控制层
 * @author： 徐一贺 18341916590
 * @date： 2021/4/16 16:46
 * @office: 智能控制设计科
 * @research institute： 智能控制设计所
 * @department： 机械设计院
 * @company: 辽宁忠旺机械设备制造有限公司
 * @group： 忠旺集团
 * @version: 1.0
 */
@Controller
@RequestMapping("/transposition/applyCheck")
public class TranspositionApplyCheckController extends BaseController {
    @Autowired
    private TranspositionApplyCheckService service;

    /**
     * @methodName: page
     * @description: 跳转到申请质检页面
     * @param:
     * @return： java.lang.String
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/23 12:40
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    @GetMapping
    @RequiresPermissions("tran:testings:view")
    public String page(Model model) {
        User user = service.getUserInfoByPrimaryKey(ShiroUtils.getUserId());
        model.addAttribute("user", user);
        return "/transposition/applyCheck/page";
    }


    /**
     * @methodName: list
     * @description: 获取转序信息
     * @param: param
     * @return： com.zw.mes.common.JsonResult
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/23 15:36
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    @ResponseBody
    @PostMapping("/list")
    @RequiresPermissions("tran:testings:view")
    public JsonResult list(CheckApplyModel param) {
        startPage();
        return jsonResult(service.findApplyCheckByParam(param));
    }

    /**
     * @methodName: completeCount
     * @description: 获取申请完成数量
     * @param: param
     * @return： com.zw.mes.common.JsonResult
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/28 9:49
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    @ResponseBody
    @PostMapping("/completeCount")
    @RequiresPermissions("tran:testings:view")
    public JsonResult completeCount(CheckApplyModel param) {
        return success().setData(service.getCompleteCount(param));
    }
    /**
     * @methodName: getNewMayApplyNum
     * @description: 获取最新数量
     * @param: id
     * @return： com.zw.mes.common.JsonResult
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/24 9:07
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    @ResponseBody
    @PostMapping("/getNewMayApplyNum")
    @RequiresPermissions("tran:testings:view")
    public JsonResult getNewMayApplyNum(Integer id) {
        return success().setData(service.getNewMayApplyNum(id));
    }

    /**
     * @methodName: apply
     * @description: 申请质检
     * @param: route
     * @return： com.zw.mes.common.JsonResult
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/24 9:09
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    @ResponseBody
    @PostMapping("/apply")
    @RequiresPermissions("tran:testings:commit")
    public JsonResult apply(FlowRouteModel route) {
        return service.apply(route);
    }
}
